#!/usr/bin/python

import socket,traceback

host = ''
port = 51423  #Bind to all interfaces

s=  socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
s.bind((host,port))
s.listen(1)

while True:
    try:
        clientsock,clientaddr = s.accept()
    except KeyboardInterrupt:
        raise
    except :
        traceback.print_exc()
        continue
    clientsock.settimeout(5)
    
    try:
        print  "Got connecting form " ,clientsock.getpeername()
        some_interesting =  "hello world ,sir " 
        
        while True:
            data =  clientsock.recv(1024)
            if not len(data):
                break
            clientsock.sendall(data+some_interesting)
    except (KeyboardInterrupt , SystemExit):
        raise
    except socket.timeout:
        print "Tine Out!! \n"
    except :
        traceback.print_exc()
    
    try :
        clientsock.close()
    except KeyboardInterrupt :
        raise
    except :
        traceback.print_exc()
